<?php

namespace app\api\controller;
use think\Db;

class Pcqr extends Base
{
    public function _initialize()
    {
        extract(input());
        if($user_id != 0){
            $auth = $this->checkAll($user_id,$time,$value,$reqKey);
            if($auth == 112){
                echo json(['status'=>301,'msg'=>$this->otherLogin]);
                exit;
            }elseif($auth == 110){
                echo json(['status' => 302, 'msg' => $this->frost]);
                exit;
            }elseif($auth == 1103){
                echo json(['status' => 303, 'msg' => $this->del]);
                exit;
            }
        }

    }
    
    /**
     * 扫码之后传过来
     * 1、PC端进入到扫码登录的界面生成一个唯一code值的二维码，入库记录
     * 2、APP扫码获取code值，传到此接口获取扫码的用户和扫码时间
     * 3、创建时间和扫码时间不得超过5分钟，否则超时不让登陆
     * 4、PC登录界面通过唯一的code值轮询获取此唯一值的用户id和时间间隔
     *      （刷新页面会生成新的code，所以上一个算扫了也进不来）
     * @return \think\response\Json
     */
    public function updatePcqr(){
        extract(input());
        $isHave = Db::table('up_z_pcqr')
            ->where('pc_code', $pc_code)
            ->find();
        if($isHave['pc_user_id']){
            return json(['status' => 100, 'msg' => '请勿重复扫码']);
        }
        if($isHave){
            $today = date('Y-m-d H:i:s');
            $update = [
                'pc_user_id' => $user_id,
                'pc_update' => $today,
                'pc_status' => 1
            ];
            if(strtotime($today) - strtotime($isHave['pc_time']) > 300){
                $update['pc_status'] = 2;
            }
            $res = Db::table('up_z_pcqr')
                ->where('pc_code', $pc_code)
                ->update($update);
            if($res){
                if($update['pc_status'] == 1){
                    return json(['status' => 200, 'msg' => '扫码成功']);
                }else{
                    return json(['status' => 100, 'msg' => '扫码超时，请重新扫码']);
                }
            }else{
                return json(['status' => 100, 'msg' => '扫码失败，请重新扫码']);
            }
        }else{
            return json(['status' => 100, 'msg' => '码已失效']);
        }
    }
}